﻿import { ISysPerson } from '/@/views/fileattachment/api/interface'
import { ISysGroup } from '/@/views/fileattachment/api/interface'
import { ISysJobPosition } from '/@/views/fileattachment/api/interface'
import { ISysOrg } from '/@/views/fileattachment/api/interface'

export interface ISysHrTransferRequestBill {
  ID?: string | null;
  PersonId: string | null;
  Person?: ISysPerson;
  ApplyDate: Date | null;
  EffectiveDate: Date | null;
  TransferType: number | null | string;
  OrgId: string | null;
  Org?: ISysOrg;
  OriginalGroupId: string | null;
  OriginalGroup?: ISysGroup;
  OriginalPositionId: string | null;
  OriginalPosition?: ISysJobPosition;
  OriginalRank: string | null;
  OriginalBaseSalary: string | null;
  OriginalPositionSalary: string | null;
  OriginalPerformanceSalary: string | null;
  NewGroupId: string | null;
  NewGroup?: ISysGroup;
  NewPositionId: string | null;
  NewPosition?: ISysJobPosition;
  NewRank: string | null;
  NewBaseSalary: string | null;
  NewPositionSalary: string | null;
  NewPerformanceSalary: string | null;
  TransferReason: string | null;
  Approver: string | null;
  ApprovalTime: Date | null;
  ApprovalOpinion: string | null;
  GroupId: string | null;
  Group?: ISysGroup;
  BillCode: string | null;
  BillStatus: number | null | string;
  WorkflowStatus: number | null | string;
  Remark: string | null
  StaffNo: string | null;
  Name: string | null;
  SupportingDocumentId: string[];
}

export interface ISysHrTransferRequestBillVm {
  Entity: ISysHrTransferRequestBill;
  ActionName: string | null;
  IsMyApprove: boolean | null;
  Remark: string | null;
}

export interface ISysHrTransferRequestBillView extends ISysHrTransferRequestBill {

  ActionNames?: string;

}

export interface ISysHrTransferRequestBillQuery {
  PersonId?: string
  ApplyDate?: Date
  OriginalGroupId?: string
  OriginalPositionSalary?: string
  NewGroupId?: string
  NewPositionId?: string
  Approver?: string
  ApprovalTime?: Date
  BillCode?: string
  BillStatus?: number
  WorkflowStatus?: number
}